\section*{外文原文裁剪程序}

在毕业论文的排版要求中，外文原文需要被裁剪掉原文的页眉页脚，换成苏大毕业论文的页眉页脚。下面的程序会自动将外文原文拆分为每一页，并将拆分出的每一页裁剪掉四边，以PDF格式保存在“外文原文”文件夹中，最后生成一个LaTeX源文件，这个LaTeX源文件依次插入了拆分并裁剪之后的外文原文。请注意生成的LaTeX文件不包含任何格式，正确的用法是用\verb|\input|或\verb|\include|将其插入在设定好格式的文档中来获得想要的格式。

{
    \small
    \ttfamily
    \begin{lstlisting}[frame=single,numbers=left,language=python]
import PyPDF2
import sys
import os

try:
    f = PyPDF2.PdfReader(sys.argv[1])
    top = int(sys.argv[2])
    buttom = int(sys.argv[3])
    left = int(sys.argv[4])
    right = int(sys.argv[5])
except:
    f = PyPDF2.PdfReader(input("输入外文原文的文件路径："))
    top = int(input("输入裁剪的上边距："))
    buttom = int(input("输入裁剪的下边距："))
    left = int(input("输入裁剪的左边距："))
    right = int(input("输入裁剪的右边距："))

if not os.path.exists("外文原文"):
    os.mkdir("外文原文")

n = f.getNumPages()

for i in range(n):
    page = f.getPage(i)
    page.cropBox.top -= top
    page.cropBox.bottom = buttom
    page.cropBox.left = left
    page.cropBox.right -= right
    w = PyPDF2.PdfWriter()
    w.add_page(page)
    w.write("外文原文/{}.pdf".format(i+1))
        
texfile = open("外文原文.tex", "wt")
for i in range(n):
    texfile.write("\\setlength{\\parindent}{0pt}\n")
    texfile.write(
        "\\includegraphics[width=\\textwidth]{外文原文/" +
        str(i+1) + ".pdf}\n"
    )
    texfile.write("\\newpage\n")
    \end{lstlisting}
}

\section*{PDF拼接程序}

这个工具用于将多个PDF文件拼接在一起。

{
    \small
    \ttfamily
    \begin{lstlisting}[frame=single,numbers=left,language=python]
import PyPDF2
import sys

try:
    output = sys.argv[1]
    files = sys.argv[2:]
except:
    output = input("输出的文件路径：").strip()
    files = []
    for cnt in range(1, 65536):
        input_file = input(
            "第{}个输入文件的路径，输入空行结束：".format(cnt)
        ).strip()
        if input_file == "":
            break
        else:
            files.append(input_file)

merger = PyPDF2.PdfMerger()
for i in files:
    merger.append(i)
merger.write(output)
    \end{lstlisting}
}



